JS 阻止冒泡?应用场景?
- 常用浏览器
e.stopPropagation()
- IE 浏览器则是使用
window.event.cancelBubble = true
- 原生监听函数 addEventListener 第三参数设为 true,阻止冒泡(默认为 false)
function stopBubble(e) {
if (e && e.stopPropagation) {
e.stopPropagation()
} else {
window.event.cancelBubble = true
}
}
div.addEventListener(
'click',
function () {
alert('你点击了!')
},
true
)
应用场景
我们单击 test 时,会依次触发 alert(“li”),alert(“ul”),alert(“div”),这就是事件冒泡
<div id="div" onclick='alert("div");'>
<ul onclick='alert("ul");'>
<li onclick='alert("li");'>test</li>
</ul>
</div>